package com.nhjf.model.incomeAndExpenditureRecord;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

import com.nhjf.model.BaseModel;
import com.nhjf.model.oranizationAccount.OranizationAccount;
import com.nhjf.model.payLog.PayLog;
@SuppressWarnings("serial")
@Entity
@Table(name = "IncomeAndExpenditureRecord")
public class IncomeAndExpenditureRecordd extends BaseModel{
	/**
	 * 主键ID
	 */
	@Id
	@GeneratedValue(generator = "generator")
	@GenericGenerator(name = "generator", strategy = "native")
	@Column(name = "id", unique = true)
	private Long id;
	/**
	 * 金额类型：1课程收益 2直播收益 3评审收益 4 商城收益 5违规扣费
	 */
	@Column(name = "changeType")
	private Integer changeType;
	/**
	 * 订单号
	 */
	@OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "orderNumber")
	private PayLog payLog;
	/**
	 * 创建时间
	 */
	@Column(name = "creatTime")
	private Date creatTime;
	/**
	 * 变动金额
	 */
	@Column(name = "changeAmount")
	private Integer changeAmount;
	/**
	 * 收支类型：1收入、2支出
	 */
	@Column(name = "IncomeAndExpenditureType")
	private Integer incomeAndExpenditureType;
	/**
	 * 备注
	 */
	@Column(name = "remarks")
	private String remarks;
	/**
	 * 机构账户id
	 */
	@OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "oranizationAccountId")
	private OranizationAccount oranizationAccount;
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Integer getChangeType() {
		return changeType;
	}
	public void setChangeType(Integer changeType) {
		this.changeType = changeType;
	}
	public Integer getIncomeAndExpenditureType() {
		return incomeAndExpenditureType;
	}
	public void setIncomeAndExpenditureType(Integer incomeAndExpenditureType) {
		this.incomeAndExpenditureType = incomeAndExpenditureType;
	}
	public String getRemarks() {
		return remarks;
	}
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
	public Date getCreatTime() {
		return creatTime;
	}
	public void setCreatTime(Date creatTime) {
		this.creatTime = creatTime;
	}
	public OranizationAccount getOranizationAccount() {
		return oranizationAccount;
	}
	public void setOranizationAccount(OranizationAccount oranizationAccount) {
		this.oranizationAccount = oranizationAccount;
	}
	public Integer getChangeAmount() {
		return changeAmount;
	}
	public void setChangeAmount(Integer changeAmount) {
		this.changeAmount = changeAmount;
	}
	public PayLog getPayLog() {
		return payLog;
	}
	public void setPayLog(PayLog payLog) {
		this.payLog = payLog;
	}
	
	
}
